Increasingly, the Internet is becoming a platform for business, consumer, and government applications that used to be deployed in so-called client-server environments, where computer software had to be installed on both a client system and on one or more server systems. Contrary to most client-server environments, Internet applications are entirely managed on the server. Apart from commonly available (and often pre-installed) Internet browser software such as Microsoft's Internet Explorer, Mozilla's Firefox, Apple's Safari, and browser software built into portable devices, no special software needs to be installed on each user's system. Also, because the Internet is based on widely published and accepted standards managed mostly by the Word Wide Web Consortium (W3C), applications that comply to these standards can be used virtually anywhere.
The advantages of Internet applications are many and are now widely published and generally accepted. Client-server applications are generally much more difficult and expensive to maintain, update, and access. They also scale poorly on the Internet. In addition, traditional client-server applications were often limited to specific client and server platforms, ranging from PC-DOS to Microsoft Windows, Apple Mac OS, Linux, UNIX, Digital OpenVMS, etc. This limited the availability of such applications, and increased the cost of supporting the widest possible user base.
However, traditional client-server applications, through their dedicated support of (and optimization for) specific client and server systems, often excelled in performance and user-friendliness. Even today, moving to a web-based user interface often means a severe degradation of the user experience. Typical Internet applications are based on the so-called “Request-Response Loop”, where users only receive information from the server system after they submit a page or a form using a “Submit” button or after pressing the “Enter” key. This mechanism, in its simplicity perhaps one of the core reasons for the very success of the Internet, is inherently primitive compared to what users have become accustomed to in the client-server world, let alone the luxurious interfaces and quick feedback that is received in local applications running on modern GUI-based operating systems such as Microsoft Windows and Apple Mac OS.